package com.zelix;

import java.util.Hashtable;

// Referenced classes of package com.zelix:
//            xn, ce

public class wn
{

    private String a;
    private boolean b;
    private static Hashtable c;
    private static wn d[] = new wn[0];
    public static final wn e = c("B");
    public static final wn f = c("Z");
    public static final wn g = c("C");
    public static final wn h = c("S");
    public static final wn i = c("I");
    public static final wn j = c("J");
    public static final wn k = c("F");
    public static final wn l = c("D");
    public static final wn m = c("?");
    public static final wn n = c("n");
    public static final wn o = c("~");
    public static final wn p;
    public static final wn q = c("Ljava/lang/Throwable;");
    public static final wn r = c("Ljava/lang/Object;");
    public static final wn s = c("Ljava/lang/String;");
    public static final wn t = c("Ljava/lang/Cloneable;");
    public static final wn D = c("Ljava/lang/Class;");
    public static final wn u;
    public static final wn v;
    public static final wn w;
    public static final wn x;
    public static final wn y;
    public static final wn z;
    public static final wn A;
    public static final wn B;
    public static boolean C;
    private static String E[];

    static 
    {
        E = new String[10];
        E[0]="RETURN_ADDRESS";
        E[1]="**";
        E[2]="[B";
        E[3]="[Z";
        E[4]="[C";
        E[5]="[S";
        E[6]="[D";
        E[7]="[I";
        E[8]="[J";
        E[9]="[F";
        c = new Hashtable();
        c.put("B", new wn("B"));
        c.put("Z", new wn("Z"));
        c.put("C", new wn("C"));
        c.put("S", new wn("S"));
        c.put("I", new wn("I"));
        c.put("F", new wn("F"));
        c.put("J", new wn("J"));
        c.put("D", new wn("D"));
        c.put("?", new wn("?"));
        c.put("n", new wn("n"));
        c.put("~", new wn("~"));
        c.put(E[2], new wn(E[2]));
        c.put(E[3], new wn(E[3]));
        c.put(E[4], new wn(E[4]));
        c.put(E[5], new wn(E[5]));
        c.put(E[7], new wn(E[7]));
        c.put(E[9], new wn(E[9]));
        c.put(E[8], new wn(E[8]));
        c.put(E[6], new wn(E[6]));
        c.put(E[0], new wn(E[0]));
        p = c(E[0]);
        u = c(E[2]);
        v = c(E[3]);
        w = c(E[4]);
        x = c(E[5]);
        y = c(E[7]);
        z = c(E[8]);
        A = c(E[9]);
        B = c(E[6]);
    }

    wn(String s1)
    {
        this(s1, true);
    }

    wn(String s1, boolean flag)
    {
        a = s1;
        b = flag;
    }

    public wn a()
    {
        if(a.charAt(0) == '[')
            return c(a.substring(1));
        if(a.startsWith("n"))
            return n;
        else
            return null;
    }

    public boolean a(String s1)
    {
        return a.endsWith(s1);
    }

    public boolean equals(Object obj)
    {
        if(obj instanceof wn)
            return ((wn)obj).a.equals(a);
        else
            return false;
    }

    public boolean b(String s1)
    {
        return a.equals(s1);
    }

    public wn b()
    {
        return new wn(a, true);
    }

    public String c()
    {
        StringBuffer stringbuffer;
label0:
        {
            stringbuffer = new StringBuffer();
            stringbuffer.append(a);
            if(e())
                break label0;
            if(g())
            {
                stringbuffer.append(E[1]);
                if(!C)
                    break label0;
            }
            stringbuffer.append("*");
        }
        return stringbuffer.toString();
    }

    public String d()
    {
        return a;
    }

    public static wn c(String s1)
    {
        return a(s1, true);
    }

    public static wn a(String s1, boolean flag)
    {
        return a(s1, flag, null);
    }

    public static wn a(String s1, boolean flag, ce ce)
    {
        Object obj = null;
        if(s1.length() <= 2 || s1.equals(E[0]))
            obj = (wn)c.get(s1);
        if(obj == null)
            if(ce == null)
                obj = new wn(s1, flag);
            else
                obj = new xn(s1, ce);
        return ((wn) (obj));
    }

    public static wn[] a(int i1)
    {
        if(i1 == 0)
            return d;
        else
            return new wn[i1];
    }

    public int hashCode()
    {
        return a.hashCode();
    }

    public boolean e()
    {
        return b;
    }

    public boolean f()
    {
        return this == o;
    }

    public boolean g()
    {
        return b ^ true;
    }

    public boolean e(String s1)
    {
        return a.startsWith(s1);
    }
}